package com.yztc.orangeentertainment.ui.main.channalarticle;

import android.content.Context;

import com.yztc.orangeentertainment.base.IModle;
import com.yztc.orangeentertainment.base.IPresenter;
import com.yztc.orangeentertainment.base.IView;
import com.yztc.orangeentertainment.bean.channalarticle.ChannalArticle;
import com.yztc.orangeentertainment.bean.channalarticle.ChannalArticleAttitudeBean;
import com.yztc.orangeentertainment.bean.channalarticle.ChannalArticleFooterBean;
import com.yztc.orangeentertainment.bean.channalarticle.ChannalArticleIMGBean;
import com.yztc.orangeentertainment.bean.channalarticle.ChannalArticleInfoBean;
import com.yztc.orangeentertainment.bean.channalarticlecomment.ArticleBean;
import com.yztc.orangeentertainment.bean.channalarticlecomment.ArticleCommentAttitudeBean;
import com.yztc.orangeentertainment.bean.channalarticlecomment.ArticleCommentBean;
import com.yztc.orangeentertainment.bean.channalarticlecomment.ChannalArticleComment;

import java.util.List;
import java.util.Map;

import retrofit2.Call;

/**
 * Created by My on 2016/10/10.
 */
public class ChannalArticleContract {
    public interface View extends IView {
        public void onChannalArticleInfoSucess(ChannalArticleInfoBean infoBeanList);

        public void onChannalArticleInfoFaild(String msg);
        public void onChannalArticleFooterSucess(ChannalArticleFooterBean footerBean);

        public void onChannalArticleFooteFaild(String msg);
        public void onChannalArticleContentSucess(List<String> contentlist,
                                                  List<ChannalArticleIMGBean> imgBeanList);

        public void onChannalArticleContentFaild(String msg);
        public void onChannalArticleAttitudeSucess(List<ChannalArticleAttitudeBean> attitudeBeanList);

        public void onChannalArticleAttitudeFaild(String msg);
        public void onChannalArticleCommentAttitudeSucess(ArticleCommentAttitudeBean
                                                                  attitudeBean, ArticleBean articleBean);

        public void onChannalArticleCommentAttitudeFaild(String msg);
        public void onChannalArticleCommentSucess(ArticleCommentBean commentBean);

        public void onChannalArticleCommentFaild(String msg);

    }

    public interface Modle extends IModle {
        public void getChannalArticle(String type, Map<String, String> map,
                                      OnLoadChannalArticleListener loadChannalArticleListener, Context
                                              context);

        public void getChannalArticleFromDb(Call<ChannalArticleComment> call);
        public void getChannalArticleComment(String type, Map<String, String> map, OnLoadChannalArticleCommentListener loadChannalArticleCommentListener, Context
                                              context);

        public void getChannalArticleCommentFromDb(Call<ChannalArticle> call);
    }

    public interface Presenter extends IPresenter {
        public void getChannalArticleFromNet(Context context, String id);

        public void getChannalArticleFromDb();
        public void getChannalArticleCommentFromNet(Context context, String id);

        public void getChannalArticleCommentFromDb();
    }

}